// pages/operatorUpload/operatorUpload.js
const http = require('../../api/http');
Page({
  data: {
    campName:'',
      longitude:'' ,
      latitude:'' ,
      campType: '',
      userType:'',
    facilitiesList: [],
    url: 'http://127.0.0.1:8080',
    phone:'',
    show: false,
    showlx: false, 
    imageUrl: [], // 用于存储已上传的文件列表
    imageUrls: [], // 用于存储已上传的文件列表
    location: '',
    address: '',
    introduce: '', // 用于存储营地介绍的文本
    types: [],// 存储选中的类型
    campTypes: ['综合营地', '微型营地', '帐篷营地', '教育营地', '运动营地'],
    selectedCampType: '',
    checked: true,
    //步骤条
    steps: [
      {
        desc: '营地信息',
      },
      {
        desc: '服务设施',
      },
      {
        desc: '营地介绍',
      },
    ],
    active: 0,
    //营业时间
    showPopup: false,
    columns: [
      {
        values: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
        className: 'column1',
      },
      {
        values: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
        className: 'column2',
        defaultIndex: 2,
      }
    ],
    specificTime: {
      month1: '',
      month2: '',
    },
    timeType: '', 

  
  },
  //下一步
  nextStep(e) {
    const index = e.detail.index;
    console.log("active", this.data.active)
    this.setData({
      active: this.data.active + 1
    });
    this.data.phone = this.data.phone.replace(/\s+/g, "");
    if (!(/^1[3456789]\d{9}$/.test(this.data.phone))) {
      wx.showToast({
        title: '手机号格式错误',
        icon: 'none'
      })
      return
    }
     // 校验手机号
     let data = {
      phone: this.data.phone,
    }
  },
  // 提交
  async onshow(){
    await this.subCamp()
  },
  async subCamp(){
    console.log("this.data.imageUrl.join", this.data.imageUrls.join(","))
    console.log("this.data.imageUrl.join", this.data.imageUrls)
    
    let selectedCampType=this.data.selectedCampType;
    let campTypeValue='';
    if(selectedCampType==="综合营地"){
      campTypeValue="1";
    }else if(selectedCampType==="微型营地"){
      campTypeValue="2";
    }else if(selectedCampType==="帐篷营地"){
      campTypeValue="3";
    }else if(selectedCampType==="教育营地"){
      campTypeValue="4";
    }else{
      campTypeValue="5";
    }
    // 确保campType有值
  if (!campTypeValue) {
    campTypeValue = '1'; // 设置一个默认值，例如 'defaultCampType'
  }
  campTypeValue=Number(campTypeValue);
  this.setData({ campType: campTypeValue });
    console.log(this.data, "this.data")
    let userInfo = wx.getStorageSync("userInfo")
    let data = {
      userId: userInfo.userId,
      campName: this.data.campName,
      longitude: this.data.longitude,
      latitude: this.data.latitude,
      location: this.data.location,
      address: this.data.address,
      phone: this.data.phone,
      // imageUrl: this.data.imageUrl,
      imageUrl:this.data.imageUrls.join(","),

      introduce: this.data.introduce,
      campType: Number(this.data.campType),
      userType: 2,
      campUser: {
        userId: userInfo.userId
      }
    }
    
    http.addcamp(data).then(res => {
      console.log(res);
      if (res.code === 200) {
        wx.showToast({
          title: '提交成功',
          icon: 'success',
          duration: 1000
        })
        wx.navigateBack({
          delta: 1
        })
        this.setData({ campId: res.msg });
        wx.redirectTo({
          url: `/pages/campDetail/campDetail?campId=${this.data.campId}`,
        })
      }
      
    })

  },
 


  // 营地位置
  selectSite() {
    wx.getSetting({
      success: res => {
        if (!res.authSetting['scope.userLocation']) {
          this.requestLocationAuthorization();
        } else {
          this.getUserLocation();
        }
      }
    })
  },
  // 获取位置信息
  getUserLocation() {
    wx.getLocation({
      type: 'gcj02',
      success: (res) => {
        console.log(res, "返回的数据")
        this.setData({
          // location:res.address,
          latitude: res.latitude,
          longitude: res.longitude,
        });
        wx.chooseLocation({
          // location:this.data.address,
          longitude: this.data.longitude,
          latitude: this.data.latitude,
          success: (res) => {
            console.log(res, '#######');
            console.log(this.data, '#######');
            this.setData({
              latitude: res.latitude,
              longitude: res.longitude,
              campLocation: res.address,
              location: res.name,
              address: res.address,
            });
            console.log(this.data, '#######');
          },
          fail: err => {
            console.log(err)
          }
        })
      },
      fail: (err) => {
        console.log('获取位置失败：', err);
      },
      complete: () => {
        console.log('位置获取操作已完成')
      }

    })
  },
  // 请求授权
  requestLocationAuthorization() {
    wx.authorize({
      scope: 'scope.userLocation',
      success: () => {
        this.getUserLocation();
      },
      fail: (err) => {
        this.showSettingPrompt()
      }
    })
  },
  // 提示用户收到开启
  showSettingPrompt() {
    wx.showModal({
      title: '需要位置权限',
      content: '请在设置中开启位置权限以正常使用本功能。',
      showCancel: false,
      confirmText: '去设置',
      success: (res) => {
        if (res.confirm) {
          wx.openSetting({
            success: (settingRes) => {
              if (settingRes.authSetting['scope.userLocation']) {
                this.getUserLocation();
              } else {
                console.log('用户仍未开启位置权限');

              }
            },
          });
        }
      },
      complete: (res) => {
        if (res.cancel) {
        }
        if (res.confirm) {
        }
      }
    })
  },


  onLoad() {
  },


  //上传
  afterRead(event) {
    const { file } = event.detail
    console.log("file", file)
    this.uploadFile(file.tempFilePath, file);
  },
  uploadFile(filePath, file) {
    var self = this
    let userInfo = wx.getStorageSync("userInfo")
    wx.uploadFile({
      url: 'http://127.0.0.1:8080/common/upload', // 后端接口地址
      filePath: filePath,
      header: {
        'content-type': 'application/json',
        "Authorization": `Bearer ${userInfo.token}`
      },
      name: 'file', // 后端通过这个key可以获取到上传的文件
      formData: {
        'user': 'test' // 可以添加其他需要的字段
      },
      success: function (res) {
        // 上传成功的处理逻辑
        console.log('上传成功', res);
        const { imageUrl = [] } = self.data;
        const { imageUrls = [] } = self.data;
        var _data = JSON.parse(res.data)
        imageUrl.push({ ...file, url: res.data });
        imageUrls.push(_data.fileName)
        self.setData({ imageUrl }); 
        self.setData({ imageUrls }); 
        
      },
      fail: function (error) {
        // 上传失败的处理逻辑
        console.error('上传失败', error);
      }
    });
  },
  //文本
  onInput(event) {
    this.setData({
      introduce: event.detail.value
    });
  },

 //营地类型
 showppicker() {
  this.setData({ showlx: true });
},
// 弹出层关闭事件
onCloseee() {
  this.setData({ showlx: false });
},
// 单选按钮点击事件
onClick: function (e) {
  const index = e.currentTarget.dataset.name;
  const item = this.data.campTypes[index];
  this.setData({
    selectedCampType: item,
  });
},
 // 重置按钮点击事件
onCancelll() {
  this.setData({ 
    selectedCampType:'',
    campType:'',
    showlx: false
 });
},
// 单选类型改变事件
onCampTypeChange(e) {
  this.setData({
    selectedCampType: e.detail.value
  });
},
// 完成按钮点击事件
onConfirmmm() {
  this.setData({ showlx: false });
  this.setData({ campType: this.data.selectedCampType })
},



  // 其他页面逻辑
})








// Page({

//   /**
//    * 页面的初始数据
//    */
//   data: {

//   },

//   /**
//    * 生命周期函数--监听页面加载
//    */
//   onLoad(options) {

//   },

//   /**
//    * 生命周期函数--监听页面初次渲染完成
//    */
//   onReady() {

//   },

//   /**
//    * 生命周期函数--监听页面显示
//    */
//   onShow() {

//   },

//   /**
//    * 生命周期函数--监听页面隐藏
//    */
//   onHide() {

//   },

//   /**
//    * 生命周期函数--监听页面卸载
//    */
//   onUnload() {

//   },

//   /**
//    * 页面相关事件处理函数--监听用户下拉动作
//    */
//   onPullDownRefresh() {

//   },

//   /**
//    * 页面上拉触底事件的处理函数
//    */
//   onReachBottom() {

//   },

//   /**
//    * 用户点击右上角分享
//    */
//   onShareAppMessage() {

//   }
// })